Feedback process to model CP utilization multi-processor performance models

ABSTRACT

Feedback control algorithms for controlling a given simulation model which relates to a computer-program-based method and respective system for providing a feedback control for a given set of control quantities of a simulation model, comprising a plurality of iterated simulation runs each of which consumes a considerable amount of time. Each single run is performed with a setting of starting values for certain entry control quantities suited to control certain target quantities. The respective next setting of entry quantities is based on the value of the target quantities measured in the preceding simulation run. In order to provide for a fast convergence of the target quantities to a final, predetermined value, the following formula is applied:  
               x     n   +   1     ′     =       v   n       1   +       ρ   n          (     1   -     v   n       )                   (6a)                       
 
     where  
       v   n =(n+1) u−nu   n   (6b)  
     μ is the final value of the target control quantity aimed at, μ n  its value achieved up to iteration n of the simulation run and ρ n  is a suitable system parameter. χ is a certain entry quantity suited to make μ n  converge against μ, and χ′ n+1  is the value of χ to be chosen for the next iteration.

BACKGROUND OF THE INVENTION

[0001] The present invention relates to a method and system implementingfeedback algorithms for controlling a given simulation model. Inparticular, it relates to a computer-program-based method and system forproviding a feedback control for a given set of control quantities of asimulation model, comprising a plurality of iterated simulation runs inwhich a single simulation run consumes a considerable amount of time.

[0002] The present invention will be next defined from prior art on thespecific field of computer system modeling. In particular, the inventionwill be illustrated by an exemplary application to a large scalemulti-processor (MP) performance model with special focus on storagehierarchy (SH) performance.

[0003] In the inventive context the term model refers to atime-dependent simulation model in contrast to an analytical spreadsheet model: Simulation models are true cycle-by-cycle models ofcomputer systems. In particular, queuing delays and resourceutilizations are a result of simulated data transfer. Analytical modelsinstead use mathematical formula to calculate queuing delays from givenrates and utilizations.

[0004] In large-scale compute environments, it is generally recommendedthat central processor (CP) utilization should not exceed 90%.Otherwise, excessive queuing delays for shared system resources canseverely impact system performance. Therefore, performance benchmarksused to test real hardware are also usually performed at the same CPutilization of 90%.

[0005] Consequently, simulation models of real hardware must be able toaccurately simulate any given CP utilization. When a multi-processormodel ignores CP utilization and hence runs at a utilization of 100%instead of 90%, the load on the storage hierarchy cooperating closelywith said CPs is significantly overstated and not representative forreal customer environments. Sample model runs ignoring CP utilizationturned out to mispredict total system capacity by as much as 7.5%. Amisprediction of that magnitude can lead to wrong and hence costlydesign decisions and—even worse—to a wrong positioning in themarketplace.

[0006] The difficulty to correctly model a given CP utilization resultsfrom the fact that CP busy time and hence CP utilization includes bothpure instruction processing time and the time in which the CP is waitingfor storage hierarchy (SH) requests to be resolved. The wait time inturn depends on the load of the SH and thus indirectly on CPutilization. As this functional relationship is unknown, prior artcomputer simulation models often ignore CP utilization completely andoperate constantly at a utilization of 100%—with the exposures andconsequences as mentioned above.

[0007] The inventive approach presented here applies both to computersystem models driven by instruction traces and driven by event rates.

[0008] In models driven by instruction traces, the simulated CPs read,interpret and execute instruction sequences. In this case, CPutilization can be simulated by suspending instruction processing for awhile at adequate points in the instruction stream—that is byartificially inserting periods of user think time. Event driven modelsinstead have drivers implemented which statistically generate requeststo the storage hierarchy. Typical requests are L1 cache misses. Theirfrequency is an input parameter to the model and CP utilization isreflected in the interarrival time of events which is the average numberof processor cycles between two events: The higher the CP utilization,the more requests are issued per unit of time.

[0009] In both model types, the leverage to manipulate a CP'sutilization is its relative utilization during the time in which it isnot waiting for a SH request to be resolved. This time is referred toherein as the CP's entry utilization χ. Then, the total utilization μ isa workload dependent and system dependent function of χ, μ=μ(χ) Asmentioned above, μ includes CP wait times and hence is unknown, and theunderlying utilization modeling problem consists in choosing χ such thatμ=μ(χ) converges against the utilization aimed at. This utilizationquantity is referred to herein as the target utilization μ.

[0010] As mentioned before, prior art computer simulation models oftenignore CP utilization completely. If, however, such prior art involvesthe predetermined setting of CP utilization, the most obvious approachto make μ converge against μ is the so-called regulation technique.

[0011] Said prior art regulation techniques use the following iterativeapproach which consists of:

[0012] a) defining a start value for the entry control quantity,

[0013] b) performing a current run of simulation with this start value,thus yielding a resulting value for the target control quantity,

[0014] c) comparing the resulting target quantity to its value aimed at,

[0015] d) defining a new starting value in dependence of the existingresult, and

[0016] e) performing a next run of simulation with this new startingvalue.

[0017] Of course, instead of being 1-dimensional, the starting value aswell as the control quantity can be a multi-dimensional vectorreflecting the multiple dimensions in a simulation system.

[0018] In prior art, the algorithm to choose the entry utilization worksas follows: Starting with some entry value χ=χ′₁, the simulation modelruns for a while, then determines the simulated total utilization μ₁ andchooses a new value for χ to be selected for the next iteration of thesimulation run: If μ₁<μ, then χ′₂>χ′₁ is chosen and vice versa. χ′denotes the instantaneous value of χ valid for the next iteration. Thequality and speed of convergence depend on the step-sizes chosen for thedifference between χ′₂ and χ′₁ and on the initial value chosen for χ andmay even vary with the value of the target utilization μ. In particular,this heuristical method is exposed to over-correct χ and hence may leadto an undesired wide oscillation of the simulated utilization around μ.

[0019] Disadvantageously, prior art provided feedback control algorithmsmay even become complex, as soon as the convergence history is used todetermine the starting value of χ for the next iteration of thesimulation run. Thus, the drawback of prior art is that:

[0020] a) it converges too slowly, which implies long-lasting simulationruns,

[0021] b) it is exposed to an undesired oscillation around the targetutilization.

BRIEF SUMMARY OF THE INVENTION

[0022] It is thus an objective of the present invention to provide amethod and system which:

[0023] a) saves computational time in computer simulations workingaccording to the above sequence principle

[0024] b} avoids wide oscillation around the target value ofutilization.

[0025] In contrast to prior art algorithms as described above, theinventive algorithm uses one closed formula which was discovered withinthe present invention to choose the next instantaneous value χ′ for theentry control quantity χ. This value applies advantageously unchanged toany target control quantity μ, like the before-mentioned targetutilization, implies excellent convergence of μ, and implicitly regardsthe convergence history.

[0026] Thus, according to its basic aspect, a computer-program-basedmethod for providing a feedback control for a given set of entry andtarget control quantities χ and μ of a system model is disclosed, themethod comprising a repetition of the following steps:

[0027] a) providing a starting value χ′₁ for each of the said entrycontrol quantities χ in the model,

[0028] b) running the model based on said starting values and obtaininga resulting actual value for each of said target control quantities μ,

[0029] c) using the values obtained for μ to define a new start valuefor χ for use in a repeated modeling step,

[0030] whereby the method is characterized by comprising the followingformula to calculate the respective next value of the entry controlquantities: $\begin{matrix}{x_{n + 1}^{\prime} = \frac{v_{n}}{1 + {\rho_{n}\left( {1 - v_{n}} \right)}}} & \text{(6a)}\end{matrix}$

[0031] where ρ_(n) is a suitable parameter and

v _(n)=(n+1)u−nu _(n)  (6b)

[0032] χ′_(n) is valid for the next iteration only while μ_(n) and ρ_(n)are values measured from the beginning of the simulation.

[0033] Instead of being given directly, the starting value or startingvector χ may also be provided by derivation from other settingquantities χ is dependent from, if such alternative setting means areavailable in the system.

[0034] When said control quantities are CP utilizations in computersystem models simulating multi-processor systems, then significantsimulation time can be saved, and bring-up costs and bring-up time fornew-developed computer hardware can be significantly reduced.

[0035] Therefore, the inventive method and its cost and time savings areof significant interest to any computer manufacturer building largescale multi-processor systems. Beyond the field of computer systemsimulations, the inventive algorithm disclosed also applies to and isbeneficial to any field of technical simulations where a singlesimulation run consumes a considerable amount of time which is desiredto be shortened.

[0036] However, its applicability is not restricted to simulationmodels. The inventive method may also be used to control any realproduction process, provided the process has the followingcharacteristics:

[0037] first, the long term utilization of the processing machine mustnot exceed a certain limit (maybe in order to avoid burning out oftemperature-sensitive parts),

[0038] second, every once and a while, the work piece must be taken outof the main production stream for side processing (such as for heatingup) before main processing can continue,

[0039] third, the duration of the side process is not predictable, suchas, when several main production lines compete for only one sideprocessing facility, and,

[0040] finally, the main processing system may not be turned off duringside processing, because the work piece must be further processedimmediately when it returns to the main production line.

[0041] In that case, in order to keep the main processing system's longterm utilization below the given limit, but as well near to that limit,the system must be turned off for a certain amount of time every onceand a while. As a skilled person may appreciate, this situation isequivalent to the CP utilization problem in an instruction drivenmulti-processor simulation model as described above. Examples in theabove sense are steel and rolling mills, or in particular bio-chemicalproduction processes.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

[0042] These and other objects will be apparent to one skilled in theart from the following detailed description of the invention taken inconjunction with the accompanying drawings in which:

[0043]FIG. 1 is a schematic block diagram representation of a systemunder observation and simulation, to which the inventive approachapplies;

[0044]FIG. 2 is a schematic block diagram representation illustratingthe functioning of the inventive control mechanism when applied to aplurality of transportation or processing units the throughput of whichis dependent on external parameters;

[0045]FIG. 3 is a schematic block diagram representation illustrating amulti-processor performance model which is controlled and improved bythe inventive method;

[0046]FIG. 4 is a schematic block diagram representation illustratingthe system structure of the IBM eServer zSeries 900 server as an examplefor a real large scale multi-processor system which can underlie themodel structure shown in FIG. 3; and

[0047]FIG. 5 is a chart showing CP utilization over runtime illustratingthe efficiency of the inventive feedback algorithm when compared toprior art control methods.

DETAILED DESCRIPTION OF THE INVENTION

[0048] The inventive method is described in more detail by way ofexample applied to computer system simulation models.

[0049] The following time and utilization variables are used:

[0050] Total run time τ is the sum of system idle time ι, instructionprocessing time P and system wait time W:

T=I+P+W.  (1)

[0051] During P, the system is assumed to process instructions atinfinite cache speed. W is the total time a CP is delayed waiting for astorage hierarchy (SH) request to be resolved. Then, total CPutilization at time τ is

u _(T)=(P+W)/T,  (2)

[0052] and the “entry control quantity”, i.e., the CP's entryutilization—i.e., its relative utilization during P—becomes

x _(T) =P/(P+I).  (3)

[0053] Straightforward arithmetic shows $\begin{matrix}{u_{T} = \frac{\left( {1 + \rho_{T}} \right)x_{T}}{1 + {\rho_{T}x_{T}}}} & (4)\end{matrix}$

[0054] Where ρτ=W/P, or equivalently $\begin{matrix}{x_{T} = {\frac{u_{T}}{1 + {\rho_{T}\left( {1 - u_{T}} \right)}}.}} & (5)\end{matrix}$

[0055] The feedback-process implemented according to this preferredembodiment adjusts χ every Δ cycles in such a way that the actual CPutilization approaches the target utilization aimed at, which isreferred to as “target control quantity”.

[0056] In the following formulas,

[0057] μ denotes the target utilization finally aimed at,

[0058] Δ_(n)=[T_(n−1), T_(n)T], with T_(n)=nΔ is the n-th interval ofobservation time,

[0059] I′_(n), P′_(n) and W′_(n) denote the idle, processing and waittime within Δ_(n),

[0060] I_(n), P_(n) and W′_(n) the respective accumulative times up toT_(n),

[0061] μ′_(n) and χ′_(n) denote the instantaneous total and entryutilization within Δ_(n), and

[0062] μ_(n) and χ_(n) the respective accumulative utilizations up toT_(n).

[0063] Relying on formula (5), all information available at time τ_(n)is used to choose the next value for the entry utilization. Thus, theinventive key regulation formula reads: $\begin{matrix}{x_{n + 1}^{\prime} = \frac{v_{n}}{1 + {\rho_{n}\left( {1 - v_{n}} \right)}}} & \text{(6a)}\end{matrix}$

[0064] where ρ_(n)=W_(n)/P_(n) and

v _(n)=(n+1)u−nu _(n)  (6b)

[0065] Since μ_(n) aims to approach μ, the simple choice $\begin{matrix}{x_{n + 1}^{\prime} = \frac{u}{1 + {\rho_{n}\left( {1 - u} \right)}}} & (7)\end{matrix}$

[0066] also makes CP utilization converge against μ—slower, however,than with formula (6a, 6b).

[0067] The inventive embodiment of the feedback process is disclosed asfollows:

[0068] Assuming W₁=P₁ or ρ₁=1, the iteration starts with the entryutilization χ′₁=χ₁=μ/(2−μ), where μ is the target utilization.

[0069] In a rate driven model, this determines the request rate duringnon-wait time in Δ₁=[T₀, T₁]. In a model driven by instruction traces,it determines the user think time—i.e. the length of idle periods to beinserted into the instruction stream within Δ₁.

[0070] During Δ₁, the model records the simulated wait time W′₁=W₁ andat time T₁, P′₁=P₁ and ρ₁=W₁/P₁ are deduced from formulas (1)Δ−W′₁=P′₁+I′₁ and (3) χ′₁=P′₁/(P′₁+I′₁).

[0071] From (2), μ₁=(P₁+W₁)/T₁ is calculated, and formula (6) is appliedto arrive at the entry utilization χ′₂ to be used in Δ₂=[T₁, T₂].

[0072] During Δ₂, the model records the simulated wait time W′₂, and attime T₁ similarly like before at time T₁, P′₂ and hence P₂=P₁+P′₂,W₂=W₁+W′₂ and ρ₂=W₂/P₂ are deduced from formulas (1) Δ−W′₂=P′₂+I′₂ and(3) χ′₂=P′₂/(P′₂+I′₂).

[0073] Then from (2), μ₂=(P₂+W₂)/T₂ is calculated and the procedure canbe iterated as often as required by any finish-criterion.

[0074] The following reasoning is added in here, in order to make theformula easier to understand:

[0075] The instantaneous version of formula (5) valid within Δ_(n) reads$\begin{matrix}{x_{n}^{\prime} = \frac{u_{n}^{\prime}}{1 + {\rho_{n}^{\prime}\left( {1 - u_{n}^{\prime}} \right)}}} & (8)\end{matrix}$

[0076] Since obviously

u′ _(n) =nu _(n)−(n−1)u _(n−1)  (9)

[0077] (8) turns into (6), if μ_(n+1) is assumed to be sufficientlyclose to μ and hence ρ′_(n+1) close to ρ_(n).

[0078] Further, formula (5) suggests that the accumulated entryutilization at time T_(n+1) will be close to $\begin{matrix}{x_{n + 1} = \frac{u}{1 + {\rho_{n}\left( {1 - u} \right)}}} & (10)\end{matrix}$

[0079] This is equivalent to the iterative formula $\begin{matrix}{x_{n + 1} = \frac{x_{n}}{1 + {d_{n}\left( {1 + {\rho_{n}x_{n}}} \right)}}} & (11)\end{matrix}$

[0080] where d_(n)=(μ_(n)−μ)/μ.

[0081] From (11), it follows that χ_(n+1)≦χ_(n) and hence μ_(n+1)≦μ_(n)if μ_(n)≧μ and vice versa. This guarantees that {μ_(n)} in factconverges against the target CP utilization μ or at least oscillatessufficiently close around μ.

[0082] With general reference to the figures and with special referencenow to FIG. 1 the considerably large field of use for the inventivealgorithm is intended to be illustrated. The actual core of the presentinvention is the formula (6a, 6b) given above.

[0083] This formula can be used according to the present invention inany technical application that uses a feedback mechanism to control asystem of working units 10A, 10B, . . . , 10D which are switched inparallel and which access a common resource 14. Each of said units mayproduce an output of material or immaterial nature. Examples are workingpieces treated in such units 10, like for example a car in the carproducing industry, or an electrical current as an example for animmaterial output.

[0084] Each of said units 10 is controlled by an associated driver unit12A, 12B, . . . , 12D. Without restricting the generality of the presentinvention, a single driver unit 12 may also control more than one of theworking units 10.

[0085] Each working unit 10 is connected to said common, shared resource14. The individual workload capacity of each unit depends on the degreeup to which said common shared resource 14 is loaded.

[0086] When said common resource 14 performs poorly, the throughput ofthe working units 10 can be impacted severely. The inventive algorithmis intended to control the activity or load factor of each of theworking units 10 in such a way that the shared resource 14 is in anoperational status which is basically non-blocking. The reason, why anoverload of the common shared resource 14 may result in a blocking ofthis system component will, of course, vary according to the appliedfield of use. A central feature of the system is the interdependencybetween the working units: The throughput of each individual workingunit 10 depends on the load of the other working units 10.

[0087]FIG. 2 illustrates a more general exploitation of the inventivecontrol mechanism. It applies to any transportation, mailing orprocessing units whose throughput depends on parameters outside to theunit itself. Again, the respective unit under observation is depictedwith reference sign 10. It is driven by some driver unit 12. Itsthroughput is limited by some throughput limitation 14 which may varyfrom case to case.

[0088] The inventive mechanism presented is used to keep the throughputof the working unit 10 within a given tolerance band of for example +−2%around a given required throughput of e.g. 90% of the theoreticallymaximum throughput.

[0089] Thus, the working units' throughput is the target controlquantity μ in the sense of the appended claims. The throughput issynonymously denoted with a more generalized term of ‘utilization’ ofthe working unit 10. The load imposed by the driver unit is the workingunit's entry utilization χ′.

[0090] According to the generalized approach, a utilization measurementfacility 20 measures the actual utilization μ_(n) of the working unit 10by means of a predetermined scanning scheme and reports the measuredutilization values to a control element 22. Measurement and reportfrequency may vary according to any physical requirements present in therespective application-case.

[0091] The control element 22 stores a predetermined value of targetutilization μ associated with the working unit 10. The control element22 processes the measured actual utilization μ_(n) by means of theinventive formula (6a, 6b) and calculates a new entry utilizationχ′_(n+1) which the driver unit 12 uses to drive the working unit 10until the next utilization measurement is performed. Thus, a closed loopcontrol is implemented, involving the inventive formula.

[0092] The loop connects two subsequent observation periods by providinga new start value for the entry utilization of the working unit 10. Bymeans of the inventive formula, the new entry utilization is calculatedfrom the current utilization of the working unit 10, which has just beenmeasured.

[0093] In FIG. 2, only one working unit 10, driver unit 12 andutilization measurement facility 20 are depicted. It shall beunderstood, however, that multiple copies of these devices may co-exist.The input from each of the respective utilization measurement facilities20 can than be fed into one common, single control element, whichperforms the above-mentioned calculations and which in turn provides anew starting value to each of said driver units 12. Thus, as can beappreciated by a person skilled in the art, any prior art closed loopfeedback control can take profit from the inventive algorithm. Theadvantage that results depends on the actual technical area in use.When, for example, the system is a complex simulation model, thetechnical effect associated with the present invention is to savecomputation time. When, however, the technical effect produced by thepresent invention is to provide for a very fast converging behavior,i.e. when by virtue of the present invention, the target controlquantity such as the throughput of the working unit can be controlledsuch that some required value is quickly reached in practice, then, anyindividual physical technical effect and advantage can be achieved, thenature of which varies from the applicational field, again. When, forexample the watermark of a system of rivers shall be controlled by theinventive approach, it is very important to avoid peaks of the controlquantity (watermark) because both, a positive and a negative excess ofthe tolerated tolerance band may have severe effects on the ships beingpresent on the rivers, or for inhabitants and infrastructure of theriver's embedding landscape.

[0094]FIG. 3 illustrates a preferred implementation of the inventiveapproach in a multi-processor performance model. As an example for apossibly underlying real computer system, FIG. 4 depicts the structureof the IBM zSeries 900 server.

[0095] In FIG. 3, the system under observation is the box with referencesign 30. It corresponds to the total of FIG. 1. Its major hardwarecomponents are a given number of processors, each including a level 1cache (L1-cache), depicted with reference sign 32, a common shared level2 cache 34 (L2-cache), and a common shared main memory 36.

[0096] The processors 32 are both working units and unit drivers. Theygenerate requests to the L2-cache 34 and wait until the precedingrequest is complete before a new request is launched. In the schematicmodel depicted in FIG. 3, a statistical number generator is used todetermine the time at which the next request to the L2-cache 34 isissued. Alternatively, in trace driven models, a trace reader working onan instruction trace would be used instead of the statistical numbergenerator.

[0097] According to the preferred embodiment given in here, the timeeach processor 32 spends waiting for a request to complete μT isrecorded in a table. Together with the processor's entry utilization,this wait time determines the actual load of each processor 32 at anytime T. As detailed above, an accurate simulation of the CP utilizationis key for a high quality performance model.

[0098] The control elements of the model are shown outside box 30.

[0099] The highest priority control element depicted with reference sign38 is a module called service. When starting a simulation run, theservice module 38 invokes an initialization routine 40 which providesall parameters describing the system configuration and the workload tobe modeled. In particular, the initialization routine reads all therequest rates and the desired target utilizations of the processors frominput files associated with the workload to be modeled.

[0100] With regard to the target utilization μ, a first entryutilization χ′₁ is selected in a plausible way. From χ′₁ and from therequest rates read-in before, the mean time τ=τ₁ between any tworequests is determined. Said mean time is referred to herein asinterarrival time.

[0101] Next, the service module 38 starts as many instances of theprocessor modules 32, as CPs are to be simulated. As mentioned above,the processor modules 32 generate storage hierarchy requests based onthe actually valid interarrival time of requests and record theirduration.

[0102] During all simulation time, the service module 38 remains in aprogram loop, which invokes the statistics and the initializationroutine in predetermined time intervals. The statistics routinecorresponds to the utilization measurement device depicted withreference 20 in FIG. 2.

[0103] Upon each call, said statistics routine calculates the actualtotal utilization μ_(n) of the processors 32 from their entryutilization χ′_(n) and the table-stored request wait time as describedabove in the introductive theoretical section. The initializationroutine in turn uses the inventive formula (6a, 6b) to calculate theentry utilization χ′_(n+1) for the next observation period from μ_(n)and μ. Finally, from the τ=τ_(n+1) new value of the entry utilization,the mean interarrival time is re-calculated and used from now on by theprocessing units 32.

[0104] For improved clarity and as a supplemental inventive disclosure,the following section provides the pseudocode to the preferredembodiment of the invention illustrated by FIG. 3 and FIG. 4. Forsimplicity, the instantaneous entry utilization is denoted by y ratherthan χ′: Service /* main controller */ { Inits (virgin = TRUE) /*initial initialization*/ Generate CP-Drivers 0, . . . ,m /* MP system */Loop here for run_time { Advance Delta cycles /* observation period *1Stats (run_end = FALSE) /* calculate utilization */ Inits (virgin =FALSE) /* adjust entry util. */ { Stats (run_end = TRUE) /* final runstatistics */ { Inits (virgin) /* Initializations */ { If virgin { /* onrun start */ Read input parms specifically request rates r and aimed-atutilization u Make guess on entry_util y = y.1 /* initial entry util */} Else { /* each observ period */ /* use algorithm */ Calculateentry_util y = y.n = y(u.n,u) /* u.n from stats */ } Calculateinterarrival time Tau = Tau(y,r) of requests } CP Driver /* m = MPinstances */ { Loop here for run_time { Determine time to next request:/* typically: */ t = Distribution(Tau) /* Exponential distrib*/ Advancet cycles /* to next request */ Launch request Wait until request_doneRecord wait time w /* for stats */ } } Stats (run_end) /* Statistics */{ If (not run_end) { /* each observ period */ /* w recorded by CP */Calculate actual utilization u.n = u(w,y.n) /* y = entry util */ } Else{ /* run complete */ Evaluate and report performance statistics } }

[0105]FIG. 5 illustrates the efficiency and advantages of the inventivemethod by comparing its convergence behavior to prior art methods.

[0106] The first prior art method is the stepwise approach, the curve ofwhich is depicted with reference sign 51: The instantaneous entryutilization gets adjusted by a fixed value d, that is χ′_(n+1)=χ′_(n)+d,which changes its sign and gets divided by 2 as soon as the utilizationcrosses the utilization aimed at: d→d/2. This is the approach with thepoorest convergence among the alternatives shown.

[0107] Better convergence is achieved with further approaches depictedby the graphs with reference signs 52 and 53: Instead of the fixed valued used in method 51, they use the actual deviation from targetutilization d_(n)=(μ_(n)−μ)/μ to adjust entry utilization. Twoapproaches are shown herein.

[0108] The straightforward approach χ′_(n+1)=χ′_(n)/(1+d) is a secondprior art method depicted by reference sign 52. A choice with noticeablybetter convergence exploits the instantaneous version of formula (11)which reads χ′_(n+1)=χ′_(n)/(1+d_(n)(1+ρ′_(n)χ′_(n)). This is aninventive embodiment of the general inventive formula (6a, 6b). Itsgraph is depicted with reference sign 53.

[0109] By far best performing is the approach which directly uses theinventive formula (6a, 6b). It is depicted with reference sign 50.Excellent convergence is reached at a time where prior art curves stillshow unacceptable high fluctuation.

[0110] The present invention can be realized in hardware, software, or acombination of hardware and software. A tool according to the presentinvention can be realized in a centralized fashion in one computersystem, or in a distributed fashion where different elements are spreadacross several interconnected computer systems. Any kind of computersystem or other apparatus adapted for carrying out the methods describedherein is suited. A typical combination of hardware and software couldbe a general purpose computer system with a computer program that, whenbeing loaded and executed, controls the computer system such that itcarries out the methods described herein.

[0111] The present invention can also be embedded in a computer programproduct, which comprises all the features enabling the implementation ofthe methods described herein, and which—when loaded in a computersystem—is able to carry out these methods.

[0112] Computer program means or computer program in the present contextmean any expression, in any language, code or notation, of a set ofinstructions intended to cause a system having an information processingcapability to perform a particular function either directly or aftereither or both of the following:

[0113] a) conversion to another language, code or notation;

[0114] b) reproduction in a different material form.

[0115] While the preferred embodiment of the invention has beenillustrated and described herein, it is to be understood that theinvention is not limited to the precise construction herein disclosed,and the right is reserved to all changes and modifications coming withinthe scope of the invention as defined in the appended claims.

What is claimed is:
 1. A computer-program-based method for providing afeedback control for a given set of entry and target control quantitiesX and μ of a system model, the method comprising a repetition of thefollowing steps: a) providing a starting value χ′₁ for each of saidentry control quantities χ in said model, b) running the model based onsaid starting values and obtaining a resulting actual value for each ofsaid target control quantities μ, c) using the values obtained for μ todefine a new start value for χ for use in a repeated modeling step,whereby the method comprises the following formula to calculate therespective next value of the entry control quantities: $\begin{matrix}{x_{n + 1}^{\prime} = \frac{v_{n}}{1 + {\rho_{n}\left( {1 - v_{n}} \right)}}} & \text{6a)}\end{matrix}$

where ρ_(n) is a suitable parameter and v _(n)=(n+1)u−nu _(n)  (6b)χ′_(n) is valid for the next iteration only while μ_(n) and ρ_(n) arevalues measured from the beginning of the simulation.
 2. The methodaccording to claim 1 further comprising simulating a multi-processorsystem in which said control quantities are CP utilizations in acomputer system model.
 3. A computer program product for providing afeedback control for a given set of entry and target control quantitiesχ and μ of a system model, said computer program product comprising: acomputer readable medium having recorded thereon computer readableprogram code performing the method comprising a repetition of thefollowing steps: a) providing a starting value χ′₁ for each of saidentry control quantities χ in said model, b) running the model based onsaid starting values and obtaining a resulting actual value for each ofsaid target control quantities μ, c) using the values obtained for μ todefine a new start value for χ for use in a repeated modeling step,whereby the method comprises the following formula to calculate therespective next value of the entry control quantities: $\begin{matrix}{x_{n + 1}^{\prime} = \frac{v_{n}}{1 + {\rho_{n}\left( {1 - v_{n}} \right)}}} & \text{6a)}\end{matrix}$

where ρ_(n) is a suitable parameter and v _(n)=(n+1)u−nu _(n)  (6b)χ′_(n) is valid for the next iteration only while μ_(n) and ρ_(n) arevalues measured from the beginning of the simulation.
 4. The computerprogram product according to claim 3 wherein the method furthercomprises simulating a multi-processor system in which said controlquantities are CP utilizations in a computer system model.
 5. A computersystem for providing a feedback control for a given set of entry andtarget control quantities χ and μ of a system model, the computer systemcomprising: a) a starting value χ′₁ for each of said entry controlquantities χ in said model, b) a control element running the model basedon said starting values and obtaining a resulting actual value for eachof said target control quantities μ, c) said control element using thevalues obtained for μ to define a new start value for χ for use in arepeated modeling step, whereby the control element uses the followingformula to calculate the respective next value of the entry controlquantities: $\begin{matrix}{x_{n + 1}^{\prime} = \frac{v_{n}}{1 + {\rho_{n}\left( {1 - v_{n}} \right)}}} & \text{6a)}\end{matrix}$

where ρ_(n) is a suitable parameter and v _(n)=(n+1)u−nu _(n)  (6b)χ′_(n) is valid for the next iteration only while μ_(n) and ρ_(n) arevalues measured from the beginning of the simulation.
 6. The computersystem according to claim 5 wherein said control element simulates amulti-processor system in which said control quantities are CPutilizations in a computer system model.